﻿using Ganweisoft.IoTCenter.Module.MediaPlatform.Models;
using IoTCenter.Utilities;
using Onvif.WebApi.ServicesImpl;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Onvif.WebApi.Services
{
    public interface IOnvifService
    {
        Task<IEnumerable<OnvifDeviceListResponseModel>> DeviceDiscoverAsync(OnvifDeviceListRequestModel request);

        Task<OperateResult<IEnumerable<int>>> CreateDeviceAsync(OnvifDeviceCreateRequestModel request);

        Task<OperateResult> SendDevicePTZControl(OnvifDevicePTZControlRequestModel request);
        Task<IEnumerable<PresetItemResponseModel>> GetPresets(OnvifDevicePTZControlRequestModel request);
        Task<OperateResult> GotoPresets(OnvifDevicePTZPresetGotoRequestModel request);
        Task<OperateResult> SetPresets(OnvifDevicePTZPresetSetRequestModel request);
        Task<OperateResult> RemovePresets(OnvifDevicePTZPresetRemoveRequestModel request);
    }
}
